package cn.com.petrochina.lpm3.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;

/**
 * General Well Information
 *
 * @TableName CD_WELL_SOURCE
 */
@TableName(value = "CD_WELL_SOURCE")
@Data
public class WellSource implements Serializable {
    /**
     * Unique well identifier, independently unique
     */
    @TableId(value = "WELL_ID")
    private String wellId;

    /**
     * Site Identifier
     */
    @TableField(value = "SITE_ID")
    private String siteId;

    /**
     * Tight group identifier
     */
    @TableField(value = "TIGHT_GROUP_ID")
    private String tightGroupId;

    /**
     * The Active UI Unit System Identifier
     */
    @TableField(value = "ACTIVE_UI_UNITSYS_ID")
    private Integer activeUiUnitsysId;

    /**
     * Coordinate type (map, latlon, lease line) radio button
     */
    @TableField(value = "COORD_TYPE")
    private Integer coordType;

    /**
     * API Number
     */
    @TableField(value = "API_NO")
    private String apiNo;

    /**
     * Battery name
     */
    @TableField(value = "BATTERY")
    private String battery;

    /**
     * Version comments on wellpath (Compass)
     */
    @TableField(value = "REMARKS")
    private String remarks;

    /**
     * Well completion identifier
     */
    @TableField(value = "COMPLETION_WELL_ID")
    private String completionWellId;

    /**
     * Is Offshore (Y/N)
     */
    @TableField(value = "IS_OFFSHORE")
    private String isOffshore;

    /**
     * Default datum name from CD_DATUM
     */
    @TableField(value = "DATUM_NAME")
    private String datumName;

    /**
     * Location description
     */
    @TableField(value = "GEO_DESCRIPTION")
    private String geoDescription;

    /**
     * Latitude in decimal degrees
     */
    @TableField(value = "GEO_LATITUDE")
    private Double geoLatitude;

    /**
     * Longitude in decimal degrees
     */
    @TableField(value = "GEO_LONGITUDE")
    private Double geoLongitude;

    /**
     * Description of reference for offset location
     */
    @TableField(value = "GEO_OFFSET_REFERENCE")
    private String geoOffsetReference;

    /**
     * X or east offset
     */
    @TableField(value = "GEO_OFFSET_EAST")
    private Double geoOffsetEast;

    /**
     * Y or north offset
     */
    @TableField(value = "GEO_OFFSET_NORTH")
    private Double geoOffsetNorth;

    /**
     * Well will be drilled from a platform
     */
    @TableField(value = "IS_PLATFORM")
    private String isPlatform;

    /**
     * Wellhead will be on sea floor
     */
    @TableField(value = "IS_SUBSEA")
    private String isSubsea;

    /**
     * Slot Name or Number
     */
    @TableField(value = "SLOT_NAME")
    private String slotName;

    /**
     * Spud Date
     */
    @TableField(value = "SPUD_DATE")
    private Date spudDate;

    /**
     * Location - County
     */
    @TableField(value = "LOC_COUNTY")
    private String locCounty;

    /**
     * Well purpose
     */
    @TableField(value = "REASON")
    private String reason;

    /**
     * Location - Country
     */
    @TableField(value = "LOC_COUNTRY")
    private String locCountry;

    /**
     * Use Slot as Reference
     */
    @TableField(value = "USE_SLOT_AS_REFERENCE")
    private Integer useSlotAsReference;

    /**
     * Location - State
     */
    @TableField(value = "LOC_STATE")
    private String locState;

    /**
     * Well Common Name
     */
    @TableField(value = "WELL_COMMON_NAME")
    private String wellCommonName;

    /**
     * Is well locked
     */
    @TableField(value = "IS_READONLY")
    private String isReadonly;

    /**
     * Well Description or Well Description part 1 (Compass WELLDES1)
     */
    @TableField(value = "WELL_DESC")
    private String wellDesc;

    /**
     * Slot location east of site center
     */
    @TableField(value = "SLOT_EW")
    private Double slotEw;

    /**
     * Well Geometry
     */
    @TableField(value = "WELL_GEOMETRY")
    private String wellGeometry;

    /**
     * Slot location north of site center
     */
    @TableField(value = "SLOT_NS")
    private Double slotNs;

    /**
     * Target formation
     */
    @TableField(value = "TARGET_FORMATION")
    private String targetFormation;

    /**
     * Well Legal Name
     */
    @TableField(value = "WELL_LEGAL_NAME")
    private String wellLegalName;

    /**
     * Radial error in slot location
     */
    @TableField(value = "SLOT_RADIAL_ERROR")
    private Double slotRadialError;

    /**
     * Well Creation Unit Set
     */
    @TableField(value = "UNIT_SET_ON_CREATE")
    private String unitSetOnCreate;

    /**
     * Elevation or depth at wellhead
     */
    @TableField(value = "WELLHEAD_DEPTH")
    private Double wellheadDepth;

    /**
     * Water depth for offshore well
     */
    @TableField(value = "WATER_DEPTH")
    private Double waterDepth;

    /**
     * Well Net Interest
     */
    @TableField(value = "WELL_NET_INT")
    private Double wellNetInt;

    /**
     * Convergence (map grid)
     */
    @TableField(value = "CONVERGENCE")
    private Double convergence;

    /**
     * Well Operator
     */
    @TableField(value = "WELL_OPERATOR")
    private String wellOperator;

    /**
     * Alternate well description
     */
    @TableField(value = "WELL_DESC_ALTERNATE")
    private String wellDescAlternate;

    /**
     * Well Type (Purpose)
     */
    @TableField(value = "WELL_PURPOSE")
    private String wellPurpose;

    /**
     * Unique well identifier
     */
    @TableField(value = "WELL_UWI")
    private String wellUwi;

    /**
     * Well Working Interest
     */
    @TableField(value = "WELL_WORKING_INT")
    private Double wellWorkingInt;

    /**
     * 创建日期
     */
    @TableField(value = "CREATE_DATE")
    private Date createDate;

    /**
     * Original well operator
     */
    @TableField(value = "WELL_OPERATOR_ORIGINAL")
    private String wellOperatorOriginal;

    /**
     * Unique well identifier type
     */
    @TableField(value = "WELL_UWI_TYPE")
    private String wellUwiType;

    /**
     * 创建用户ID
     */
    @TableField(value = "CREATE_USER_ID")
    private String createUserId;

    /**
     * Create Application Sequence/Identfier
     */
    @TableField(value = "CREATE_APP_ID")
    private String createAppId;

    /**
     * 最后更新日期
     */
    @TableField(value = "UPDATE_DATE")
    private Date updateDate;

    /**
     * Scale factor (mapping)
     */
    @TableField(value = "SCALE_FACTOR")
    private Double scaleFactor;

    /**
     * 最后更新用户ID
     */
    @TableField(value = "UPDATE_USER_ID")
    private String updateUserId;

    /**
     * Last Update Application ID
     */
    @TableField(value = "UPDATE_APP_ID")
    private String updateAppId;

    /**
     * Well reference point azimuth, slant rig azimuth
     */
    @TableField(value = "WRP_AZIMUTH")
    private Double wrpAzimuth;

    /**
     * EW offset at WRP from slot
     */
    @TableField(value = "WRP_EW")
    private Double wrpEw;

    /**
     * Well reference point inclination, slant rig inclination
     */
    @TableField(value = "WRP_INCLINATION")
    private Double wrpInclination;

    /**
     * MD offset at WRP
     */
    @TableField(value = "WRP_MD")
    private Double wrpMd;

    /**
     * NS offset at WRP from slot
     */
    @TableField(value = "WRP_NS")
    private Double wrpNs;

    /**
     * Is WRP offset from slot, 0=No, 1=Use WRP
     */
    @TableField(value = "WRP_OFFSET")
    private Integer wrpOffset;

    /**
     * TVD offset at WRP
     */
    @TableField(value = "WRP_TVD")
    private Double wrpTvd;

    /**
     * Redrill number
     */
    @TableField(value = "REDRILL_NO")
    private String redrillNo;

    /**
     *
     */
    @TableField(value = "MAASP_A")
    private Double maaspA;

    /**
     *
     */
    @TableField(value = "MAASP_B")
    private Double maaspB;

    /**
     *
     */
    @TableField(value = "MAASP_C")
    private Double maaspC;

    /**
     *
     */
    @TableField(value = "IS_H2S_PRESENT")
    private String isH2sPresent;

    /**
     *
     */
    @TableField(value = "IS_LSA_PRESENT")
    private String isLsaPresent;

    /**
     * 锁定密码
     */
    @TableField(value = "P_LOCK_PASSWORD")
    private String pLockPassword;

    /**
     * 锁定用户名
     */
    @TableField(value = "P_LOCK_USER_NAME")
    private String pLockUserName;

    /**
     * 业务单位ID
     */
    @TableField(value = "ORG_ID")
    private String orgId;

    /**
     * 构造单元ID
     */
    @TableField(value = "STRUCT_ID")
    private String structId;

    /**
     * 井所属的油气单元ID
     */
    @TableField(value = "OILFIELD_ID")
    private String oilfieldId;

    /**
     * 物探工区ID
     */
    @TableField(value = "EXP_AREA_ID")
    private String expAreaId;

    /**
     * 站库ID
     */
    @TableField(value = "STATION_ID")
    private String stationId;

    /**
     * 井旁地震测线号(勘探井)
     */
    @TableField(value = "P_SEISMIC_LINE_NO")
    private String pSeismicLineNo;

    /**
     * 到地震测线距离
     */
    @TableField(value = "P_OFFSET_TO_SEISMIC_LINE")
    private Long pOffsetToSeismicLine;

    /**
     * 井旁桩号
     */
    @TableField(value = "P_SPOT_NO")
    private String pSpotNo;

    /**
     * 该字段不再使用
     */
    @TableField(value = "P_START_PROD_STITUM")
    private String pStartProdStitum;

    /**
     * 唯一标识组合单元单元（开发单元）。
     */
    @TableField(value = "GROUP_UNIT_ID")
    private String groupUnitId;

    /**
     * 地级市
     */
    @TableField(value = "P_LOC_CITY")
    private String pLocCity;

    /**
     * 设计横坐标。向东偏离位置
     */
    @TableField(value = "DESIGN_GEO_OFFSET_EAST")
    private Double designGeoOffsetEast;

    /**
     * 设计纵坐标。向北偏离位置
     */
    @TableField(value = "DESIGN_GEO_OFFSET_NORTH")
    private Double designGeoOffsetNorth;

    /**
     * 班级机构
     */
    @TableField(value = "SUB_ORG_ID")
    private String subOrgId;

    /**
     *
     */
    @TableField(value = "OFFSHORE_PLATFORM")
    private String offshorePlatform;

    /**
     * 局部构造位置
     */
    @TableField(value = "P_LOC_STRUCT")
    private String pLocStruct;

    /**
     * 产建年份  填写格式：YYYY
     */
    @TableField(value = "PRO_CON_YEAR")
    private String proConYear;

    /**
     * 水平井注入标志：1，受益井为水平采油井的注入井
     */
    @TableField(value = "IS_HORI")
    private String isHori;

    /**
     * 井生命周期生产阶段， 1：勘探；2：评价；3：开发(缺省)
     */
    @TableField(value = "WELL_STAGE")
    private String wellStage;

    /**
     * "天然气地质单元  CD_GAS_PROJECT_SOURCE"的"地质单元ID  PROJECT_ID"
     */
    @TableField(value = "GASFIELD_ID")
    private String gasfieldId;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}